#ifndef _COMPARE_H
#define _COMPARE_H


#include "common.h"


/** Funcao que compara dois jobs por (task1, task2)
 * @param a Primeiro job
 * @param b Segundo job
 * @return
 *      - =0: a = b 
 *      - <0: a < b
 *      - >0: a > b
 */
int nodeTask1cmp(const Job *a, const Job *b);


/** Funcao que compara dois jobs por (task2, task1)
 * @param a Primeiro job
 * @param b Segundo job
 * @return
 *      - =0: a = b 
 *      - <0: a < b
 *      - >0: a > b
 */
int nodeTask2cmp(const Job *a, const Job *b);


/** Funcao que compara dois Displays
 * @param a Primeiro display
 * @param b Segundo Display
 * @return
 *      - =0: a = b
 *      - <0: a < b
 *      - >0: a > b
 */
int dispcmp(const Disp *a, const Disp *b);


/** Funcao que compara dois jobs para a primeira particao (Johnson)
 * @param a Primeiro job
 * @param b Segundo job
 * @return
 *      - =0: a = b
 *      - <0: a < b
 *      - >0: a > b
 */
int firstSetcmp(const Job *a, const Job *b);


/** Funcao que compara dois jobs para a segunda particao (Johnson)
 * @param a Primeiro job
 * @param b Segundo job
 * @return
 *      - =0: a = b
 *      - <0: a < b
 *      - >0: a > b
 */
int secondSetcmp(const Job *a, const Job *b);


/** Funcao que compara dois jobs por (task1 + task2)
 * @param a Primeiro job
 * @param b Segundo job
 * @return
 *      - =0: a = b
 *      - <0: a < b
 *      - >0: a > b
 */
int totalTimecmp(const Job *a, const Job *b);


#endif

